1  Podstawy pracy z programem R

Martyna Kosińska

1.1 📘 Początek pracy z programem R

# To jest komentarz. Komentarze rozpoczynamy znakiem #
## tak oznaczane będą wyniki wykonanych poleceń

1.1.1 Wypisanie liczb od 1 do 10 z odstępem co 1

1:10 
 [1]  1  2  3  4  5  6  7  8  9 10
# Ctrl+R - wykonanie kodu z edytora R

1.1.2 Pomoc w programie R (przykład)

?plot
uruchamianie serwera httpd dla pomocy ... wykonano

1.1.3 ❕ Załadowanie pakietu ggplot2

# install.packages("ggplot2")
# można też zapisać
# install.packages('ggplot2')
library(ggplot2)
Warning: pakiet 'ggplot2' został zbudowany w wersji R 4.2.3
# ls('package:ggplot2')

1.1.4 R jako kalukulator

2+2
[1] 4
20-2
[1] 18
6*7
[1] 42
30/5 
[1] 6
# 30\5 błąd, bo ukośnik jest w przeciwną stronę

2^5
[1] 32
sqrt(4)
[1] 2
log(12)
[1] 2.484907
log(16,2)
[1] 4
pi
[1] 3.141593
sin(pi)
[1] 1.224606e-16

1.1.5 Symbol Newtona

choose(4,1)
[1] 4

1.1.6 Zaokrglenia liczb

round(2.4347247)
[1] 2
round(2.55)
[1] 3
round(2.4347247,digits=2)
[1] 2.43

1.1.7 Przypisywanie wartości do zmiennych

x=7
x
[1] 7
print(x)
[1] 7
y<-10
y
[1] 10
z=x*y
z
[1] 70
z=x+y
z
[1] 17
x;y;z
[1] 7
[1] 10
[1] 17

1.1.8 Lista nazw zmiennych

ls()
[1] "x" "y" "z"
rm(z)
ls()
[1] "x" "y"
rm(list=ls())
ls()
character(0)

1.2 📘 Typy obiektów

1.2.1 Typ liczbowy

n1=2.4535
n1
[1] 2.4535
print(n1,3) #wyświetlenie 3 cyfr znaczących (ostatni element jest zaokrąglany)
[1] 2.45
round(n1,3)
[1] 2.454

1.2.2 Typ znakowy

t1="Patrycja"
t1
[1] "Patrycja"
t2='Dawid'
t2
[1] "Dawid"
print(t2,quote=FALSE)
[1] Dawid
t3="to jest pies"

sub("pies","kot",t3)
[1] "to jest kot"
paste(t1,"i",t2)
[1] "Patrycja i Dawid"
substr(t3,9,12) #wyodrębnianie tekstu - od 9 znaku do 12
[1] "pies"

1.2.3 Typ logiczny

l1=TRUE
l2=T
l3=FALSE
F
[1] FALSE

1.3 📘 Operatory logiczne

1.3.1 Alternatywa (lub)

l1|l3
[1] TRUE

1.3.2 Koniunkcja (i)

l1&l3
[1] FALSE

1.3.3 Zaprzeczenie

!l1
[1] FALSE

1.3.4 Wybrane operacje logiczne

1==1
[1] TRUE
2>3
[1] FALSE
25<=25
[1] TRUE
23>=7
[1] TRUE
(12>2)&(15==12)
[1] FALSE
(sqrt(159)==13)&(7^5>252)
[1] FALSE

1.4 📘 Klasy obiektów

class(t1)
[1] "character"
class(n1)
[1] "numeric"
identical(t1,n1)
[1] FALSE
ls()
[1] "l1" "l2" "l3" "n1" "t1" "t2" "t3"
ls.str()
l1 :  logi TRUE
l2 :  logi TRUE
l3 :  logi FALSE
n1 :  num 2.45
t1 :  chr "Patrycja"
t2 :  chr "Dawid"
t3 :  chr "to jest pies"
is.logical(t1)
[1] FALSE
is.numeric(t1)
[1] FALSE
is.character(t1)
[1] TRUE
is.matrix(t1)
[1] FALSE

1.5 📘 Wektory

w1=c(10,9,8,7,6,5)
w1
[1] 10  9  8  7  6  5
w2=c(T,T,F,F)
w2
[1]  TRUE  TRUE FALSE FALSE
w3=c("Dawid","Wojtek","Robert","Kuba","Klaudia","Luiza")
w3
[1] "Dawid"   "Wojtek"  "Robert"  "Kuba"    "Klaudia" "Luiza"  
1:10
 [1]  1  2  3  4  5  6  7  8  9 10
10:1
 [1] 10  9  8  7  6  5  4  3  2  1
1.2:20.2
 [1]  1.2  2.2  3.2  4.2  5.2  6.2  7.2  8.2  9.2 10.2 11.2 12.2 13.2 14.2 15.2
[16] 16.2 17.2 18.2 19.2 20.2
1.2:20.3
 [1]  1.2  2.2  3.2  4.2  5.2  6.2  7.2  8.2  9.2 10.2 11.2 12.2 13.2 14.2 15.2
[16] 16.2 17.2 18.2 19.2 20.2
1.2:20.1
 [1]  1.2  2.2  3.2  4.2  5.2  6.2  7.2  8.2  9.2 10.2 11.2 12.2 13.2 14.2 15.2
[16] 16.2 17.2 18.2 19.2
# ?seq
seq(16,30,3)
[1] 16 19 22 25 28
seq(to=30,by=3,from=16)
[1] 16 19 22 25 28
w4=seq(to=30,from=16,3)
w4
[1] 16 19 22 25 28
w5=c(23,23,1,2,3,1)

ls()
 [1] "l1" "l2" "l3" "n1" "t1" "t2" "t3" "w1" "w2" "w3" "w4" "w5"
# w1 + w3
w1;w3
[1] 10  9  8  7  6  5
[1] "Dawid"   "Wojtek"  "Robert"  "Kuba"    "Klaudia" "Luiza"  
w1+w5
[1] 33 32  9  9  9  6
w1*w5
[1] 230 207   8  14  18   5
w6=seq(7,10,length=10)
w6
 [1]  7.000000  7.333333  7.666667  8.000000  8.333333  8.666667  9.000000
 [8]  9.333333  9.666667 10.000000
length(w6)
[1] 10
any(w6<0)
[1] FALSE
any(w6>0)
[1] TRUE
w6>0
 [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
all(w1==w3)
[1] FALSE